Skip to content

分報へのリンクをfeature flagで表示#9231

Merged
komagata merged 2 commits intomainfrom
feature/micro-report-link
Nov 6, 2025
Merged

分報へのリンクをfeature flagで表示#9231
komagata merged 2 commits intomainfrom
feature/micro-report-link

Conversation

@sjabcdefin
Copy link
Copy Markdown
Contributor

@sjabcdefin sjabcdefin commented Oct 2, 2025

Issue

概要

  • 左メニューに「分報」リンクを追加。表示は Switchlet gem のフラグ micro_report により制御。
    • 開発/テスト環境では全員に表示
    • 本番環境ではadminとmentorにだけ表示
  • 「分報」リンククリック時の遷移先は/users/:user_id/micro_reports

変更確認方法

  1. feature/micro-report-linkをローカルに取り込む

  2. foreman start -f Procfile.devでサーバーを立ち上げる

  3. FjordBootCampkomagataさんでログイン ※ Switchletフラグ設定時は管理者ユーザでログインする必要あり

  4. Switchletフラグ設定micro_reportフラグを作成

    • Create New Flag 欄のFlag nameにmicro_reportを入力し、Create Flagボタンをクリック
    • メニューの分報を表示/非表示は、Actionsを操作する
    image
  5. komagataさんでログインした状態で、Switchletフラグ設定micro_reportフラグのStatusをEnabledに設定する

  6. komagataさん、kimuraさんでそれぞれログインし、以下を確認する

    • メニューに「分報」が表示されること
    • 「分報」クリック時、/users/:user_id/micro_reportsに遷移すること
  7. komagataさんでログインした状態で、Switchletフラグ設定micro_reportフラグのStatusをDisabledに設定する

  8. komagataさん、kimuraさんでログインし、以下を確認する

    • メニューに「分報」が表示されないこと

Screenshot

変更前

image

変更後

  • micro_reportフラグのStatusをEnabledにした場合

    image
  • micro_reportフラグのStatusをDisabledにした場合(変更前と同様)

    image

Summary by CodeRabbit

  • 新機能

    • フィーチャーフラグ有効時かつ管理者/メンター、または開発/テスト環境で「分報」タブ/ナビ項目を表示。最新の分報ページ(#latest-micro-report)へ遷移し、時計アイコンと現在位置のハイライトに対応。
  • テスト

    • フィーチャーフラグ有効化のセットアップを追加。
    • 表示文言の変更に合わせて期待値を「最初の分報」から「最新の分報」へ更新。

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Oct 2, 2025

Walkthrough

マイクロ分報機能の表示を機能フラグ Switchlet.enabled?(:micro_report) によって制御。ユーザータブとグローバルナビ双方で、管理者/メンターまたは開発・テスト環境かつフラグ有効時のみ表示。システムテストはフラグ有効化と文言変更に追随。

Changes

Cohort / File(s) Change Summary
機能フラグでの表示制御(タブ・ナビ)
app/helpers/page_tabs/users_helper.rb, app/views/application/_global_nav.slim
マイクロ分報(「分報」)の表示条件に機能フラグ Switchlet.enabled?(:micro_report) を追加。管理者/メンターまたは開発・テスト環境の条件と併用。ナビでは該当リンク(最新の分報へのアンカー付き)を条件付きで描画。
システムテスト更新
test/system/user/micro_reports_test.rb
テスト前に micro_report フラグを有効化。期待表示文言を「最新の分報」に更新。

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant GlobalNav as GlobalNav(_global_nav.slim)
  participant Switchlet as FeatureFlag
  participant Route as latest_micro_report_page

  User->>GlobalNav: ページ表示
  GlobalNav->>Switchlet: enabled?(:micro_report)
  alt フラグ有効 かつ (管理者/メンター または 開発/テスト環境)
    GlobalNav->>Route: リンク先生成(#latest-micro-report)
    GlobalNav-->>User: 「分報」リンク表示
  else 条件不成立
    GlobalNav-->>User: リンク非表示
  end
Loading
sequenceDiagram
  autonumber
  actor User
  participant Tabs as UsersHelper#user_page_tabs
  participant Switchlet as FeatureFlag

  User->>Tabs: ユーザーページタブ取得
  Tabs->>Switchlet: enabled?(:micro_report)
  alt フラグ有効 かつ (管理者/メンター または 開発/テスト環境)
    Tabs-->>User: タブに「分報」を含める
  else
    Tabs-->>User: 「分報」タブを含めない
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • komagata
  • su-su-su-su

Poem

ぴょんと覗けば、分報の灯
スイッチひとつで、出たり入ったり
時計のアイコン、今を指す
テストも一緒に背伸びして
今日は旗の風、やさしく吹いた 🐇⌛️

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed タイトルは主な変更点であるfeature flagによる分報リンク表示を的確に示しており、簡潔かつ明確です。
Description Check ✅ Passed PRの説明文はリポジトリ指定のテンプレートと一致しており、Issue番号、概要、変更確認方法、スクリーンショットが全て適切に記載されています
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/micro-report-link

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot requested a review from komagata October 2, 2025 13:09
@sjabcdefin sjabcdefin self-assigned this Oct 2, 2025
@sjabcdefin
Copy link
Copy Markdown
Contributor Author

@Miya096jp
お疲れ様です!
お手すきの際に、こちらのPRをレビューいただけると嬉しいです。😊🙏
ご負担になりそうでしたら、遠慮なく教えていただければと思います!😌👌

@sjabcdefin sjabcdefin requested a review from Miya096jp October 2, 2025 13:53
@Miya096jp
Copy link
Copy Markdown
Contributor

@sjabcdefin

レビュー依頼ありがとうございます!
せっかく依頼いただいて申し訳ないのですが、現在私が担当しているレビューがFjord Choiceに反映していないようなんです。

現状、レビュー依頼がない方も何名かおられるので、別の方に依頼された方がスムーズだと思います。

紛らわしいことになっていて申し訳ありません🙇🏻‍♂️

@sjabcdefin
Copy link
Copy Markdown
Contributor Author

@Miya096jp
いえいえ〜。😌👌
ご返信ありがとうございます!!

他の方に依頼してみます。😌🙏

@sjabcdefin
Copy link
Copy Markdown
Contributor Author

@matuaya
お疲れさまです!
お手すきの際に、こちらのPRをレビューいただけると嬉しいです。😊🙏

担当しているレビューがFjord Choiceに反映されない場合もあるようでして、
もし他のレビュー対応などでご負担になりそうでしたら、遠慮なくお知らせください。😌👌

@sjabcdefin sjabcdefin requested review from matuaya and removed request for Miya096jp October 5, 2025 00:18
@matuaya
Copy link
Copy Markdown
Contributor

matuaya commented Oct 5, 2025

@sjabcdefin
レビュー承りました👍
数日お時間いただけると嬉しいです🙏

@sjabcdefin
Copy link
Copy Markdown
Contributor Author

@matuaya
いつもありがとうございます!
1〜2週間ほどかかっても大丈夫ですので、ご都合のよいタイミングで、ご確認いただければ幸いです。😌🙏

Copy link
Copy Markdown
Contributor

@matuaya matuaya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お言葉に甘えて一週間ほどかけてしまいました🙏💦
確認したところ動作バッチリでした!
Approveさせていただきます☺️

@sjabcdefin
Copy link
Copy Markdown
Contributor Author

@matuaya
ご確認ありがとうございました!!😊🙏

@komagata
メンバレビューが終わりましたので、お手すきの際にレビューをお願いいたします。😌🙏

assert_text '最初の分報'
assert_text '2つ目の分報'
assert_text '最初の分報'
assert_text '最新の分報'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここってなにかあって修正した感じでしょうか?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コミットメッセージに記載しておらず、失礼いたしました。🙇‍♀️
test/fixtures/micro_reports.ymlの内容が以下であるため、誤記("最新"を"最初"と誤って記載した)と思い、併せて修正いたしました。

hajime_first_micro_report:
  user: hajime
  content: 最初の分報
  created_at: <%= 2.day.ago %>

hajime_second_micro_report:
  user: hajime
  content: 2つ目の分報
  created_at: <%= 1.day.ago %>

hajime_third_micro_report:
  user: hajime
  content: 最新の分報

Copy link
Copy Markdown
Member

@komagata komagata Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sjabcdefin すみません、僕の書き方がわかりずらかったです。

これまでテストが成功していたとしたら、なぜassert_textの文章を変更したのにテストが成功するのでしょうか?
(実装自体を修正した形跡が見当たらなかったので)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
本日の質問・雑談タイムでお話させていただいた内容を以下コメントに残します。😌🙏

  • 指摘いただいたテストの実装自体は修正していない。
  • 分報のテストデータが以下となっているため、修正前でも問題なくテストはパスする
    ('最初の分報'を2回テストしている)
  • 誤記("最新"を"最初"と誤って記載した)と思い、併せて修正した。

test/fixtures/micro_reports.yml

hajime_first_micro_report:
  user: hajime
  content: 最初の分報
  created_at: <%= 2.day.ago %>

hajime_second_micro_report:
  user: hajime
  content: 2つ目の分報
  created_at: <%= 1.day.ago %>

hajime_third_micro_report:
  user: hajime
  content: 最新の分報

ご確認お願いいたします。😌🙏

Copy link
Copy Markdown
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させていただきました。OKです〜🙆‍♂️

@komagata komagata merged commit edcbeab into main Nov 6, 2025
24 checks passed
@komagata komagata deleted the feature/micro-report-link branch November 6, 2025 09:02
@github-actions github-actions bot mentioned this pull request Nov 6, 2025
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants